开始之前
上面的两篇分析了一下list的两个实现,本来这篇是想探究一下set,从set的两个HashSet,再到TreeSet,但是一进入HashSet的源码:
1 | public class HashSet<E> |
得嘞,咱们还是先来看看咱们HashMap的源码吧,依照惯例,我们先来看看源码的作者怎么描述HashMap的。
类的描述
基于哈希表的Map 接口的实现,这个实现提供了所有可选的map操作,允许null值和null键(HashMap
除了它不是同步的并且允许null值其他大致等同于Hashtable),HashMap不保证存储的元素的顺序,特别是不能保证存储的元素随着时间的变化保持不变【HashMap中的元素会存储的位置会随着HashMap的扩容而发生改变,这句我自己加的】